package main

import "fmt"

func main() {
	// 变量，保存一个值
	// 通过var关键字定义/声明一个变量
	// 必须要指定类型
	// var 变量名称 类型 = 值
	/*
		var name string = "小明"
		var age int = 18
		fmt.Println(name)
		fmt.Println(age)
		// 变量可以重新赋值
		age = 19
		fmt.Println(age)

		// 变量只是声明，但未赋值
		// 零值
		var gender string // ""
		var salary int    // 0
		gender = "女"
		salary = 18000
		fmt.Println("性别：", gender)
		fmt.Println("工资：", salary)
		// 声明多个变量，类型是一致
		var name1, name2 string // ""
		name1 = "小红"
		name2 = "小军"
		fmt.Println("姓名信息：", name1, name2)

		// 一次声明多个变量未赋值
		var (
			gender string
			salary int
		)
		gender = "男"
		salary = 5000
		salary = 6000
		fmt.Println(gender, salary)

		// 类型推断，判断出类型
		var city = "中国"
		fmt.Println(city)
	*/
	// 短变量，必须在函数的内部
	a := 1 //等价于  var a int = 1
	b := "tedu"
	// 同时给多个变量赋值
	a, b = 2, "hello" // 解构
	// 匿名变量，不需要的值
	a, b, _ = 18, "tom", "china"
	// n := 25  // 变量声明后必须使用
	fmt.Println(a, b, c)

}

var c int = 111

// d := 5 // 错误
